package com.projetTDA.joueur;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TableRow.LayoutParams;
import android.widget.TextView;

import com.projetTDA.R;
import com.projetTDA.bdd.DataAccessLayer;
import com.projetTDA.metier.Joueur;

//Fonction qui permet de gerer un joueur, pouvoir changer son pseudo ou son avatar
public class GererJoueur extends Activity {
	private ArrayList<Joueur> listeJoueur = new ArrayList<Joueur>();
	static GererJoueur GererJoueur;

	static final ArrayList<String> JOUEURString = 
			new ArrayList<String>(Arrays.asList("R.drawable.avatar1","R.drawable.avatar2","R.drawable.avatar3","R.drawable.avatar4","R.drawable.avatar5","R.drawable.avatar6","R.drawable.avatar7","R.drawable.avatar8","R.drawable.avatar9","R.drawable.avatar10"));


	static final ArrayList<Integer> JOUEURInteger = 
			new ArrayList<Integer>(Arrays.asList(R.drawable.avatar1,R.drawable.avatar2,R.drawable.avatar3,R.drawable.avatar4,R.drawable.avatar5,R.drawable.avatar6,R.drawable.avatar7,R.drawable.avatar8,R.drawable.avatar9,R.drawable.avatar10));

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		GererJoueur = this;
		setContentView(R.layout.gerer_joueur);

		DataAccessLayer myDAL = new DataAccessLayer(GererJoueur.this);
		List<Joueur> listeJoueur = new ArrayList<Joueur>(myDAL.getListeJoueurs());		  

		TableLayout tl = (TableLayout) findViewById(R.id.plop);
		TableRow tr = (TableRow) findViewById(R.id.trid);
		ImageView iv;

		LayoutParams layoutParams = new LayoutParams(LayoutParams.FILL_PARENT,
				LayoutParams.FILL_PARENT);
		layoutParams.setMargins(2, 2, 2, 2);

		for (final Joueur j : listeJoueur) {

			tr = new TableRow(this);		
			iv = new ImageView(this);

			String avatar = "R.drawable.avatar"+j.getAvatar();
			for( int compteur=0;compteur<10;compteur++){
				if (avatar.equals(JOUEURString.get(compteur))) {
					iv.setImageResource(JOUEURInteger.get(compteur));
				}
			}

			tr.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
					LayoutParams.WRAP_CONTENT));
			tr.addView(iv, layoutParams);
			tr.addView(generateTextView(j.getPseudo(), layoutParams));
			tl.addView(tr, layoutParams);
			tr.setOnClickListener(new OnClickListener() {
				
				//Fonction qui permet de modifier un joueur lorsque l'on clique dessus
				@Override
				public void onClick(View v) {

					String avatar2 = j.getAvatar();
					String pseudo2 = j.getPseudo();
					String id2 = String.valueOf(j.getId_joueur()); 
					Intent to_ModifierJoueurActivity = new Intent(GererJoueur.this, ModifierJoueur.class);
					String pseudo="pseudo";
					String avatar="avatar";
					String idJoueur="idJoueur";
					to_ModifierJoueurActivity.putExtra(pseudo, pseudo2);
					to_ModifierJoueurActivity.putExtra(avatar, avatar2);
					to_ModifierJoueurActivity.putExtra(idJoueur, id2);
					startActivity(to_ModifierJoueurActivity);
				}
			});
		}


		final Button creerJoueur = (Button) findViewById(R.id.creerJoueurButton);
		creerJoueur.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				Intent intent = new Intent(GererJoueur.this, CreerJoueur.class);
				startActivity(intent);
			}
		});


	}


	public static GererJoueur getInstance(){
		return GererJoueur;
	}

	//fonction de mise en forme
	public TextView generateTextView(String texte, LayoutParams ly) {

		TextView result = new TextView(this);
		result.setTextColor(Color.BLACK);
		result.setGravity(Gravity.CENTER);
		result.setPadding(2, 2, 2, 2);
		result.setText(texte);
		result.setTextSize(20);
		result.setVisibility(View.VISIBLE);
		result.setLayoutParams(ly);
		return result;
	}

}
